Designer Codecs


Codecs
Object Motion
 
Vertex Motion
 
Sounds
 
Geometry
 

 

What is a codec?

A Designer Codec is a algorithm used to encode a set of objects inside a Cult3D Internet File. The codecs are designed to compress the given objects, and make the internet file as small as possible. The presence of multiple codecs is justified by the fact that each codec has its own peculiarities, and, depending of the situation, one codec may result better than another to reduce the size of the final file.

The codecs.

The codecs are divided into four codecs families:

Inside each family, we may find codecs which are specifically designed to handle a certain type of object. For instance, many sound codecs are designed to handle a specific type of audio file: the Metasound ACS48, as an example, accepts 22050Hz Stereo audio files only.

 

Object Motion codecs

This family of codecs is designed to encode the object level animations. Object level animations are sequences of rigid tranformations (translations and rotations). These animations are not necessarily always present, and comes along with the C3D file.

'Wavelet' codec

This codec reduces the size of the object motions by applying a wavelet compression to them. The compression amounts are split into two categories: translations and rotations. A special set of extra controls are associated to the wavelet codec: those comes with two sliders, which regulates the compression amounts. A amount of 100 means no compression at all, while 1 means a very high compression. As higher the compression is, as lower the quality of the animation will be.

 

Vertex Motion codecs

This family of codecs is designed to encode the vertex level animations. vertex level animations are sequences of movements applied to the vertices of the geometric objects. These animations are not necessarily always present, and comes along with the C3D file.

'Wavelet' codec

This codec reduces the size of the vertex motions by applying a wavelet compression to them. A slider will regulate the compression amount. A amount of 100 means no compression at all, while 1 means a very high compression. As higher the compression is, as lower the quality of the animation will be.

'Optimization' codec

This codec does not compress the sequences of vertex animations, but it discards those segments which are not used by the simulation. This codec is very effective when the simulation uses only 'animation jump to' actions to control the animation of the objects. In the morphball example object, for instance, it is possible to reproduce the original animation sequence by performing a set of animation jumps to some of the animation keyframes. Since the keyframes 'in between' will be interpolated by the Cult3D engine, it won't be necessary to have them wrote in the final Internet File.

 

Sound codecs

This family of codecs is designed to encode the audio files (sounds). Sounds are not necessarily present in all the simulations. Cult3D may care about the following features, which describes the nature of a audio file: sampling frequency, number of channels.

About audio files and their characteristics

Sound sampling is that process which transforms a real audio waveform into a digital sound. Our audio files are digitally sampled sounds. A analogic to digital sound converter works by sampling the sound wave at regular intervals; those intervals can be defined as how many times in a second the converter samples the sound wave, and transform it into a digital sample. A sampling frequency of 8KHz means that the sound has been sampled 8000 times a second. The higher the sampling rate, the better the quality of the digital sample will be.

The number of channels is the amount which tells us how many channels the sound has been split into during the recording process. Cult3D supports a value of 1 (mono audio file), and 2 (stereo audio file). A stereo sound may have a higher definition of a mono one, but it will surely be as twice bigger.

 

'None' codec

This codec does not apply any compression to the selected sound(s). Use this when a maximum sound quality is required. Uncompressed sounds will keep their original size.

'Wavelet' codec

This codec reduces the size of the sounds by applying a wavelet compression to them. A slider will regulate the compression amount. A amount of 100 means no compression at all, while 1 means a very high compression. As higher the compression is, as lower the quality of the sound will be.

'Metasound ACS48' codec

This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 22050Hz Stereo sounds only. Compression type: 48kbps FM quality, 1024 samples per channel (46.44 ms) resulting in 279 bytes of compressed output per frame.

'Metasound AC24' codec

This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 22050Hz Mono sounds only. Compression type: 24kbps FM quality, 1024 samples (46.44 ms) resulting in 139 bytes plus 4 bits of compressed output per frame.

'Metasound ACS20' codec

This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 11025Hz Stereo sounds only. Compression type: 20kbps AM quality, 512 samples per channel (46.44 ms) resulting in 116 bytes of compressed output per frame.

'Metasound AC10' codec

This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 11025Hz Mono sounds only. Compression type: 10kbps AM quality, 512 samples (46.44 ms) resulting in 58 bytes of compressed output per frame.

'Metasound AC8' codec

This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 8000Hz Stereo sounds only. Compression type: 8kbps AM quality, 512 samples (64 ms) resulting in 64 bytes of compressed output per frame.

'Metavoice RT24' codec

This codec is specifically designed for the compression of voice.

Do not try to use this codec with a audio file which contains sound, or voice blended with sound: the result will be terrible. A voice audio file is a audio file which contains only human voice recorded at 8000Hz, 1 channel (mono).

This codec reduces the size of the sounds by applying a metavoice compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 8000Hz Mono sounds only.

Compression type: 2.4kbps, 180 samples (22.5 ms) resulting in 54 bits of compressed output per frame.

'Metavoice SC36' codec

This codec is specifically designed for the compression of voice.

Do not try to use this codec with a audio file which contains sound, or voice blended with sound: the result will be terrible. A voice audio file is a audio file which contains only human voice recorded at 8000Hz, 1 channel (mono).

This codec reduces the size of the sounds by applying a metavoice compression to them. This codec is able in the compress 8000Hz Mono sounds only.

The codec is split into two different subcodecs: SC3 and SC6. It is possible to encode sounds using both, in a scalable way. Three radio buttons, mutually exclusive, will make the user able to select which kind of compression the codec should apply to the sound: SC3, SC6 or SC3+SC6.

SC3 codec compression type: 3.2kbps, 160 samples (20 ms) resulting in 64 bits of compressed output per frame SC6 codec compression type: 6.4kbps, 160 samples (20 ms) resulting in 128 bits of compressed output per frame

 

Geometry codecs

This family of codecs is designed to encode the geometry of mesh objects.

'None' codec

This codec does not apply any compression to the selected sound(s). Use this when a maximum geometry quality is required. Uncompressed geometries will keep their original size.

'Mesh Level 2' codec

This codec reduces the size of the geometries by applying a 'mesh level 2' compression to them. The compression has four possible configurations, which the user can specify by interacting with four corresponding radio buttons. Those configurations are:

This compression is lossly, which means: the decompressed object will be identical to the one before the compression. However, some little shading/smooth anomalies may be observed on some of the decompressed objects.

Always use the high compression, since with the majority of the objects you'll not see these 'anomalies'. But if you do, then try a lower compression setting.

 

 

Copyright ⌐ 1998-1999 Cycore Computers AB, All Rights Reserved